package com.topisv.tms.entity.work.ExceptionOrder;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.topisv.tms.entity.AreaGroup;
import com.topisv.tms.entity.IdEntity;
import com.topisv.tms.entity.User;
import com.topisv.tms.entity.work.WorkOrder;

/**
 * 异常单
 * 
 * @author ch
 *        
 */
@Entity
@Table(name = "exception_order")
public class ExceptionOrder extends IdEntity implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    private String exceptionType; // 异常类型 （cancel: 取消单 refuse: 拒收单 change: 换货单 outScope:超区单 lose: 丢件单）
    
    private String customerCode; // 商家编码
    
    private String warehouseCode; // 作业仓库
    
    private String orderno; // 订单编号
    
    private String customerOrderno; // 商家订单号
    
    private String fromOrderno; // 来源订单号
    
    private String expressNo; // 快递号
    
    private String createrUuid; // 登记人
    
    private Date createTime; // 登记时间
    
    private String cancelStatus; // 取消状态 (regist: 取消登记 stop: 拦截成功 pass: 拦截失败）
    
    private String backStatus; // 退回状态 （wait:登记待退 receive:已收货质检 in:已入库）
    
    private String mark; // 备注说明
    
    private String recallFlag; // 重发标识 （recall: 重发 unrecall: 未重发）
    
    public String getRecallFlag() {
        return recallFlag;
    }
    
    public void setRecallFlag(String recallFlag) {
        this.recallFlag = recallFlag;
    }
    
    public String getExceptionType() {
        return exceptionType;
    }
    
    public void setExceptionType(String exceptionType) {
        this.exceptionType = exceptionType;
    }
    
    public String getCustomerCode() {
        return customerCode;
    }
    
    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }
    
    public String getWarehouseCode() {
        return warehouseCode;
    }
    
    public void setWarehouseCode(String warehouseCode) {
        this.warehouseCode = warehouseCode;
    }
    
    public String getOrderno() {
        return orderno;
    }
    
    public void setOrderno(String orderno) {
        this.orderno = orderno;
    }
    
    public String getCustomerOrderno() {
        return customerOrderno;
    }
    
    public void setCustomerOrderno(String customerOrderno) {
        this.customerOrderno = customerOrderno;
    }
    
    public String getFromOrderno() {
        return fromOrderno;
    }
    
    public void setFromOrderno(String fromOrderno) {
        this.fromOrderno = fromOrderno;
    }
    
    public String getExpressNo() {
        return expressNo;
    }
    
    public void setExpressNo(String expressNo) {
        this.expressNo = expressNo;
    }
    
    public String getCreaterUuid() {
        return createrUuid;
    }
    
    public void setCreaterUuid(String createrUuid) {
        this.createrUuid = createrUuid;
    }
    
    public Date getCreateTime() {
        return createTime;
    }
    
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    public String getCancelStatus() {
        return cancelStatus;
    }
    
    public void setCancelStatus(String cancelStatus) {
        this.cancelStatus = cancelStatus;
    }
    
    public String getBackStatus() {
        return backStatus;
    }
    
    public void setBackStatus(String backStatus) {
        this.backStatus = backStatus;
    }
    
    public String getMark() {
        return mark;
    }
    
    public void setMark(String mark) {
        this.mark = mark;
    }
    
    // dto属性
    private WorkOrder order;
    
    private User creater;
    
    private AreaGroup warehouse;
    
    private String shopna;
    
    @Transient
    public String getShopna() {
        return shopna;
    }
    
    public void setShopna(String shopna) {
        this.shopna = shopna;
    }
    
    @Transient
    public WorkOrder getOrder() {
        return order;
    }
    
    public void setOrder(WorkOrder order) {
        this.order = order;
    }
    
    @Transient
    public User getCreater() {
        return creater;
    }
    
    public void setCreater(User creater) {
        this.creater = creater;
    }
    
    @Transient
    public AreaGroup getWarehouse() {
        return warehouse;
    }
    
    public void setWarehouse(AreaGroup warehouse) {
        this.warehouse = warehouse;
    }
    
}